package com.hwd.srb.core.service;

import com.hwd.srb.core.pojo.entity.UserBind;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hwd.srb.core.pojo.vo.UserBindVO;

import java.util.Map;

/**
 * <p>
 * 用户绑定表 服务类
 * </p>
 *
 * @author 黄伟东/Victor
 * @since 2022-03-10
 */
public interface UserBindService extends IService<UserBind> {

    /**
     * 账户绑定
     *
     * @param userBindVO 账户绑定对象
     * @param userId     账户id
     * @return java.lang.String
     */
    String bind(UserBindVO userBindVO, Long userId);

    /**
     * 账户绑定异步回调，更新账户绑定状态
     *
     * @param paramMap 结果参数
     */
    void notifyBind(Map<String, Object> paramMap);

    /**
     * 判定当前用户是有已经绑定账户
     *
     * @param userId 用户id
     * @return boolean
     */
    boolean hasBindById(String userId);

    /**
     * 根据userId获取bindCode
     * @param userId userId
     * @return java.lang.String
     */
    String getBindCodeByUserId(Long userId);
}
